package com.ajk.server.service;
import java.util.List;
import java.util.Map;

import com.ajk.server.model.Users;
import com.ajk.server.model.query.UsersQuery;
import com.ajk.server.model.request.UserReq;
import com.ajk.server.model.response.UserRes;
import com.ajk.shop.model.response.SimpleUserProfileRes;

/**
 * 用户表  <br>
 * t_users <br>
 * v1.0 2016-05-01
 */
 public interface UsersService {
	
	/**
 	*根据ID删除 用户表
 	*/
 	public Integer deleteUsersById(Integer id);
 	
 	/**
 	*新增 用户表
 	*/
 	public Integer batchInsertUsers(List<? extends Users> userss);
 	
 	/**
 	*新增 用户表
 	*/
 	public Integer insertUsers(Users domain);
 
 	
 	/**
 	*更新 用户表
 	*/
 	public Integer updateUsers(UserReq myProfile);
 	
 	/**
 	*根据ID查询 用户表
 	*/
 	public UserRes findUsersById(Integer id);

	/**
 	*通过query 查询 用户表
 	*/
	public List<Users> findUsersByQuery(UsersQuery query);	
	
	/**
	 * 系统用户登录
	 * @param sysUser
	 * @return
	 */
	public Users sysUserLogin(Users user);
	
 	public Integer countUsersByQuery(UsersQuery query);
 	
 	/**
 	* 通过ids查询
 	*/
 	public List<Users> findUsersByIds(List<Integer> ids);
 	
 	public Map<Integer,Users> findUsersMapByIds(List<Integer> ids);
 	
 	/**
 	* 通过ids查询
 	*/
 	public List<SimpleUserProfileRes> findSimpleUsersByIds(List<Integer> ids);
 	
 	public SimpleUserProfileRes findSimpleUsersById(Integer id);
 	/**
 	 * 通过手机号查询用户
 	 */
 	public UserRes findUsersByMobile(String mobile);
 	/**
 	 * 获取用户二维码
 	 * @param userId
 	 * @return
 	 */
 	public String getQRcode(Integer userId);
 	/**
 	 * 生成用户二维码
 	 * @param userId
 	 * @return
 	 */
 	public String generateUserQRcode(Integer userId);
}	